home *** CD-ROM | disk | FTP | other *** search
/ The Original Shareware 1.1 / The Original Shareware (WeMake CDs)(Volume 1.1)(CDs, Inc)(1993).iso / 38 / giftif.zip / DEHUFTAB.H < prev    next >
Text File  |  1989-11-22  |  7KB  |  233 lines

  1. /*----------------------------------------------------------------------*/
  2. /* Copyright (c) 1988-1989                        */
  3. /* by CompuServe Inc., Tucson, AZ.  All Rights Reserved            */
  4. /* DEHUFTAB.H can be copied and distributed freely for any        */
  5. /* non-commercial purposes. DEHUFTAB.H can only be incorporated        */
  6. /* into commercial software with the permission of CompuServe Inc.    */
  7. /*----------------------------------------------------------------------*/
  8.  
  9. /* DEHUFTAB.H */
  10.  
  11. /* This header file contains the 5 standard Group III FAX Encoding tables */
  12.  
  13. huffman_code            /* White "make-up" codes                 */
  14.     huf_wht_makeup[ 27 ] =    /*  based at 64, steps of 64, up to 1728 */
  15.     {
  16.         { 5, 0033 },    /*   64 */
  17.         { 5, 0022 },    /*  128 */
  18.         { 6, 0027 },    /*  192 */
  19.         { 7, 0067 },    /*  256 */
  20.         { 8, 0066 },    /*  320 */
  21.         { 8, 0067 },    /*  384 */
  22.         { 8, 0144 },    /*  448 */
  23.         { 8, 0145 },    /*  512 */
  24.         { 8, 0150 },    /*  576 */
  25.         { 8, 0147 },    /*  640 */
  26.         { 9, 0314 },    /*  704 */
  27.         { 9, 0315 },    /*  768 */
  28.         { 9, 0322 },    /*  832 */
  29.         { 9, 0323 },    /*  896 */
  30.         { 9, 0324 },    /*  960 */
  31.         { 9, 0325 },    /* 1024 */
  32.         { 9, 0326 },    /* 1088 */
  33.         { 9, 0327 },    /* 1152 */
  34.         { 9, 0330 },    /* 1216 */
  35.         { 9, 0331 },    /* 1280 */
  36.         { 9, 0332 },    /* 1344 */
  37.         { 9, 0333 },    /* 1408 */
  38.         { 9, 0230 },    /* 1472 */
  39.         { 9, 0231 },    /* 1536 */
  40.         { 9, 0232 },    /* 1600 */
  41.         { 6, 0030 },    /* 1664 */
  42.         { 9, 0233 }        /* 1728 */
  43.     };
  44.  
  45. huffman_code            /* Black "make-up" codes                 */
  46.     huf_blk_makeup[ 27 ] =    /*  based at 64, steps of 64, up to 1728 */
  47.     {
  48.         {10, 0017 },    /*   64 */
  49.         {12, 0310 },    /*  128 */
  50.         {12, 0311 },    /*  192 */
  51.         {12, 0133 },    /*  256 */
  52.         {12, 0063 },    /*  320 */
  53.         {12, 0064 },    /*  384 */
  54.         {12, 0065 },    /*  448 */
  55.         {13, 0154 },    /*  512 */
  56.         {13, 0155 },    /*  576 */
  57.         {13, 0112 },    /*  640 */
  58.         {13, 0113 },    /*  704 */
  59.         {13, 0114 },    /*  768 */
  60.         {13, 0115 },    /*  832 */
  61.         {13, 0162 },    /*  896 */
  62.         {13, 0163 },    /*  960 */
  63.         {13, 0164 },    /* 1024 */
  64.         {13, 0165 },    /* 1088 */
  65.         {13, 0166 },    /* 1152 */
  66.         {13, 0167 },    /* 1216 */
  67.         {13, 0122 },    /* 1280 */
  68.         {13, 0123 },    /* 1344 */
  69.         {13, 0124 },    /* 1408 */
  70.         {13, 0125 },    /* 1472 */
  71.         {13, 0132 },    /* 1536 */
  72.         {13, 0133 },    /* 1600 */
  73.         {13, 0144 },    /* 1664 */
  74.         {13, 0145 }        /* 1728 */
  75.     };
  76.  
  77. huffman_code            /* White "termination" codes         */
  78.     huf_wht_final[ 64 ] =    /*  based at 0, steps of 1, up to 63 */
  79.     {
  80.         { 8, 0065 },    /*    0 */
  81.         { 6, 0007 },    /*    1 */
  82.         { 4, 0007 },    /*    2 */
  83.         { 4, 0010 },    /*    3 */
  84.         { 4, 0013 },    /*    4 */
  85.         { 4, 0014 },    /*    5 */
  86.         { 4, 0016 },    /*    6 */
  87.         { 4, 0017 },    /*    7 */
  88.         { 5, 0023 },    /*    8 */
  89.         { 5, 0024 },    /*    9 */
  90.         { 5, 0007 },    /*   10 */
  91.         { 5, 0010 },    /*   11 */
  92.         { 6, 0010 },    /*   12 */
  93.         { 6, 0003 },    /*   13 */
  94.         { 6, 0064 },    /*   14 */
  95.         { 6, 0065 },    /*   15 */
  96.         { 6, 0052 },    /*   16 */
  97.         { 6, 0053 },    /*   17 */
  98.         { 7, 0047 },    /*   18 */
  99.         { 7, 0014 },    /*   19 */
  100.         { 7, 0010 },    /*   20 */
  101.         { 7, 0027 },    /*   21 */
  102.         { 7, 0003 },    /*   22 */
  103.         { 7, 0004 },    /*   23 */
  104.         { 7, 0050 },    /*   24 */
  105.         { 7, 0053 },    /*   25 */
  106.         { 7, 0023 },    /*   26 */
  107.         { 7, 0044 },    /*   27 */
  108.         { 7, 0030 },    /*   28 */
  109.         { 8, 0002 },    /*   29 */
  110.         { 8, 0003 },    /*   30 */
  111.         { 8, 0032 },    /*   31 */
  112.         { 8, 0033 },    /*   32 */
  113.         { 8, 0022 },    /*   33 */
  114.         { 8, 0023 },    /*   34 */
  115.         { 8, 0024 },    /*   35 */
  116.         { 8, 0025 },    /*   36 */
  117.         { 8, 0026 },    /*   37 */
  118.         { 8, 0027 },    /*   38 */
  119.         { 8, 0050 },    /*   39 */
  120.         { 8, 0051 },    /*   40 */
  121.         { 8, 0052 },    /*   41 */
  122.         { 8, 0053 },    /*   42 */
  123.         { 8, 0054 },    /*   43 */
  124.         { 8, 0055 },    /*   44 */
  125.         { 8, 0004 },    /*   45 */
  126.         { 8, 0005 },    /*   46 */
  127.         { 8, 0012 },    /*   47 */
  128.         { 8, 0013 },    /*   48 */
  129.         { 8, 0122 },    /*   49 */
  130.         { 8, 0123 },    /*   50 */
  131.         { 8, 0124 },    /*   51 */
  132.         { 8, 0125 },    /*   52 */
  133.         { 8, 0044 },    /*   53 */
  134.         { 8, 0045 },    /*   54 */
  135.         { 8, 0130 },    /*   55 */
  136.         { 8, 0131 },    /*   56 */
  137.         { 8, 0132 },    /*   57 */
  138.         { 8, 0133 },    /*   58 */
  139.         { 8, 0112 },    /*   59 */
  140.         { 8, 0113 },    /*   60 */
  141.         { 8, 0062 },    /*   61 */
  142.         { 8, 0063 },    /*   62 */
  143.         { 8, 0064 }        /*   63 */
  144.     };
  145.  
  146. huffman_code            /* Black "termination" codes         */
  147.     huf_blk_final[ 64 ] =    /*  based at 0, steps of 1, up to 63 */
  148.     {
  149.         {10, 0067 },    /*    0 */
  150.         { 3, 0002 },    /*    1 */
  151.         { 2, 0003 },    /*    2 */
  152.         { 2, 0002 },    /*    3 */
  153.         { 3, 0003 },    /*    4 */
  154.         { 4, 0003 },    /*    5 */
  155.         { 4, 0002 },    /*    6 */
  156.         { 5, 0003 },    /*    7 */
  157.         { 6, 0005 },    /*    8 */
  158.         { 6, 0004 },    /*    9 */
  159.         { 7, 0004 },    /*   10 */
  160.         { 7, 0005 },    /*   11 */
  161.         { 7, 0007 },    /*   12 */
  162.         { 8, 0004 },    /*   13 */
  163.         { 8, 0007 },    /*   14 */
  164.         { 9, 0030 },    /*   15 */
  165.         {10, 0027 },    /*   16 */
  166.         {10, 0030 },    /*   17 */
  167.         {10, 0010 },    /*   18 */
  168.         {11, 0147 },    /*   19 */
  169.         {11, 0150 },    /*   20 */
  170.         {11, 0154 },    /*   21 */
  171.         {11, 0067 },    /*   22 */
  172.         {11, 0050 },    /*   23 */
  173.         {11, 0027 },    /*   24 */
  174.         {11, 0030 },    /*   25 */
  175.         {12, 0312 },    /*   26 */
  176.         {12, 0313 },    /*   27 */
  177.         {12, 0314 },    /*   28 */
  178.         {12, 0315 },    /*   29 */
  179.         {12, 0150 },    /*   30 */
  180.         {12, 0151 },    /*   31 */
  181.         {12, 0152 },    /*   32 */
  182.         {12, 0153 },    /*   33 */
  183.         {12, 0322 },    /*   34 */
  184.         {12, 0323 },    /*   35 */
  185.         {12, 0324 },    /*   36 */
  186.         {12, 0325 },    /*   37 */
  187.         {12, 0326 },    /*   38 */
  188.         {12, 0327 },    /*   39 */
  189.         {12, 0154 },    /*   40 */
  190.         {12, 0155 },    /*   41 */
  191.         {12, 0332 },    /*   42 */
  192.         {12, 0333 },    /*   43 */
  193.         {12, 0124 },    /*   44 */
  194.         {12, 0125 },    /*   45 */
  195.         {12, 0126 },    /*   46 */
  196.         {12, 0127 },    /*   47 */
  197.         {12, 0144 },    /*   48 */
  198.         {12, 0145 },    /*   49 */
  199.         {12, 0122 },    /*   50 */
  200.         {12, 0123 },    /*   51 */
  201.         {12, 0044 },    /*   52 */
  202.         {12, 0067 },    /*   53 */
  203.         {12, 0070 },    /*   54 */
  204.         {12, 0047 },    /*   55 */
  205.         {12, 0050 },    /*   56 */
  206.         {12, 0130 },    /*   57 */
  207.         {12, 0131 },    /*   58 */
  208.         {12, 0053 },    /*   59 */
  209.         {12, 0054 },    /*   60 */
  210.         {12, 0132 },    /*   61 */
  211.         {12, 0146 },    /*   62 */
  212.         {12, 0147 }        /*   63 */
  213.     };
  214.  
  215.  
  216. huffman_code            /* Large "makeup" codes                    */
  217.     huf_big_makeup[ 13 ] =    /*  based at 1792, steps of 64, up to 2560 */
  218.     {
  219.         {12, 0010 },    /* 1792 */
  220.         {12, 0014 },    /* 1856 */
  221.         {12, 0015 },    /* 1920 */
  222.         {13, 0022 },    /* 1984 */
  223.         {13, 0023 },    /* 2048 */
  224.         {13, 0024 },    /* 2112 */
  225.         {13, 0025 },    /* 2176 */
  226.         {13, 0026 },    /* 2240 */
  227.         {13, 0027 },    /* 2304 */
  228.         {13, 0034 },    /* 2368 */
  229.         {13, 0035 },    /* 2432 */
  230.         {13, 0036 },    /* 2496 */
  231.         {13, 0037 }        /* 2560 */
  232.     };
  233.